package com.zrar.ak.gkpt.model.bo;

import com.zrar.ak.gkpt.model.vo.NodeCirculeInfoVO;
import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;

/**
 * @ClassName: FormProcessNodeTBO
 * @Description 流程节点信息表BO类
 * @Author liyang
 * @Time 2020/02/14
 */
@Data
@Entity
@Table(name = "FORM_PROCESS_NODE_T")
public class FormProcessNodeTBO {

    /**
     * 主键(流程定义节点id)
     */
    @Id
    private String id;

    /**
     * 创建人ID
     */
    private String creatorId;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 修改人员ID
     */
    private String updateUserId;
    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 删除标志默认0是有效，1是删除
     */
    private String isDelete;


    /**
     * 流程定义ID
     */
    private String processDefinitionId;
    /**
     * 流程定义名称
     */
    private String processDefinitionName;
    /**
     * 流程定义描述信息
     */
    private String processDefinitionDescription;
    /**
     * 流程定义节点名称
     */
    private String nodeName;
    /**
     * 流程定义节点类型(1.开始节点 2.普通节点 3.结束节点)
     */
    private String nodeType;
    /**
     * 流程定义节点流转信息:
     *  send---发送(将符合下发的角色传给角色或代码，由角色或代码逻辑决定给谁下发。支持同时下发多人)
     *  reply---回复(谁下发给我，我反馈给谁)
     *  giveBack---退回
     *  end---完结
     *  示例:{send:["111","222","333"],reply:"333",giveBack:"222",end:"000"}
     */
    private String nodeCirculeInfo;

    /**
     * 流程定义节点流转信息VO类(当从数据库取出了数据并存储在nodeCirculeInfo后，将数据转换成NodeCirculeInfoVO类的对象，然后放入nodeCirculeInfoVO属性里进去)
     */
    @Transient
    private NodeCirculeInfoVO nodeCirculeInfoVO;
}
